Near–Critical Path Analysis: A Tool for Parallel Program Optimization
نویسندگان
چکیده
Program activity graphs (PAGs) can be constructed from timestamped traces of appropriate execution events. Information about the activities on the k longest execution paths is useful in the analysis of parallel program performance. In this paper, four algorithms for finding the near–critical paths of PAGs are compared, including a best–first search (BFS) algorithm that is worst–case asymptotically optimal in terms of both time and space. Results confirming the practical efficiency of the BFS algorithm are presented for five application programs. A framework for using the near–critical path information is also described. The framework includes statistical summaries and visualization capabilities that build upon the foundation of existing performance analysis tools. Within the framework, guidance is provided by the Maximum Benefit Metric, which uses near–critical path data to predict the maximum overall performance improvement that may be realized by optimizing particular critical path activities. The framework is validated by a case study: development and tuning of a parallel near–critical path algorithm. Examples are cited illustrating the utility of both framework components. Index Terms — Parallel computing, performance analysis, performance metric, instrumentation, program activity graph, critical path, longest path algorithm.
منابع مشابه
Performance Optimization Using Extended Critical Path Analysis in Multithreaded Programs on Multiprocessors
Efficient performance tuning of parallel programs is often hard. Optimization is often done when the program is written as a last effort to increase the performance. With sequential programs each (executed) code segment will affect the completion time. In the case of a parallel program executed on a multiprocessor this is not always true, due to dependencies between the different threads. Thus,...
متن کاملPerformance Optimization using Critical Path Analysis in Multithreaded Programs on Multiprocessors
Efficient performance tuning of parallel programs is often hard. Optimization is often done when the program is written as a last effort to increase the performance. With sequential programs each (executed) code segment will affect the total execution time of the program. Thus, any code segment that is optimized in a sequential program will decrease the execution time. In the case of a parallel...
متن کاملVehicle Interior Vibration Simulation-a Tool for Engine Mount Optimization
By new advancements in vehicle manufacturing vehicle quality evaluation and assurance has become a more critical issue. In present work, the vibration transfer path analysis and vibration path ranking of a car interior has been performed. The method is similar to classical multilevel TPA methods but has distinct differences. The method is named VIVS which stands for Vehicle Interior Vibratio...
متن کاملContour Crafting Process Plan Optimization Part II: Multi–Machine Cases
Contour Crafting is an emerging technology that uses robotics to construct free form building structures by repeatedly laying down layers of material such as concrete. The Contour Crafting technology scales up automated additive fabrication from building small industrial parts to constructing buildings. Tool path planning and optimization for Contour Crafting benefit the technology by increasin...
متن کاملNear-Minimum-Time Motion Planning of Manipulators along Specified Path
The large amount of computation necessary for obtaining time optimal solution for moving a manipulator on specified path has made it impossible to introduce an on line time optimal control algorithm. Most of this computational burden is due to calculation of switching points. In this paper a learning algorithm is proposed for finding the switching points. The method, which can be used for both ...
متن کامل